// nav-bar.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // 导航栏标题
    title: {
      type: String,
      value: '页面标题'
    },
    // 返回按钮是否显示
    showBack: {
      type: Boolean,
      value: true
    },
    // 自定义返回事件
    customBack: {
      type: Boolean,
      value: false
    },
    // 透明模式
    transparent: {
      type: Boolean,
      value: false
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    statusBarHeight: 44, // 默认状态栏高度
    navbarHeight: 88,    // 导航栏内容高度
    totalHeight: 132     // 总高度
  },

  /**
   * 组件的生命周期
   */
  lifetimes: {
    attached() {
      this.getSystemInfo()
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 获取系统信息
    getSystemInfo() {
      const systemInfo = wx.getSystemInfoSync()
      const statusBarHeight = systemInfo.statusBarHeight || 44
      const navbarHeight = 88
      const totalHeight = statusBarHeight + navbarHeight
      
      this.setData({
        statusBarHeight,
        navbarHeight,
        totalHeight
      })
      
      // 触发事件，通知页面导航栏高度
      this.triggerEvent('heightchange', {
        statusBarHeight,
        navbarHeight,
        totalHeight
      })
    },

    // 返回按钮点击事件
    onBackTap() {
      if (this.data.customBack) {
        // 触发自定义返回事件
        this.triggerEvent('backtap')
      } else {
        // 默认返回逻辑
        this.defaultBack()
      }
    },

    // 默认返回逻辑
    defaultBack() {
      console.log('导航栏返回按钮点击')
      wx.reLaunch({
        url: '/pages/index/index',
        success: () => {
          console.log('成功返回主页')
        },
        fail: (err) => {
          console.error('返回主页失败:', err)
          wx.showToast({
            title: '返回失败',
            icon: 'none'
          })
        }
      })
    }
  }
})
